7 research outputs found

    Cobertura entre pruebas a distintos niveles para refactorizaciones m谩s seguras

    Get PDF
    Esta tesis busca encontrar una pr谩ctica metodol贸gica que permita definir distintos niveles de pruebas que operen como garant铆a de refactorizaciones seguras, independientemente del alcance de las mismas. Se enmarca en el tema general de refactoring, con elementos de Test Driven Development (TDD), utilizando las pr谩cticas recomendadas en el marco de Behavior Driven Development (BDD) y de Acceptance Test Driven Development (ATDD). La pr谩ctica de refactoring descansa fuertemente en la existencia de pruebas unitarias automatizadas, que funcionan como red de seguridad que garantiza que el comportamiento de la aplicaci贸n no var铆a luego de una refactorizaci贸n. Sin embargo, este simple enunciado no prev茅 que hay ocasiones en que las pruebas dejan de funcionar al realizar las refactorizaciones, con lo cual se pierde la sincronizaci贸n entre c贸digo y pruebas, y la cualidad de red de seguridad de estas 煤ltimas. Esto es especialmente cierto ante refactorizaciones estructurales y redise帽os macro. Por lo tanto, y dado que el uso de pruebas como red de contenci贸n es uno de los supuestos m谩s fuertes de la pr谩ctica del refactoring, vamos a desarrollar, como objetivo de esta tesis, una pr谩ctica metodol贸gica para permitir definir distintos niveles de pruebas que aseguren distintos tipos de refactorizaciones, valid谩ndola con un caso de estudio y apoy谩ndonos en una herramienta autom谩tica desarrollada en el marco de este trabajo.Facultad de Inform谩tic

    Estado del arte y tendencias en Test-Driven Development

    Get PDF
    Test-Driven Development, o TDD como se lo conoce m谩s a menudo, surgi贸 como una pr谩ctica de dise帽o de software orientado a objetos, basada en derivar el c贸digo de pruebas automatizadas escritas antes del mismo. Sin embargo, con el correr de los a帽os, se ha ido ampliando su uso. Se ha utilizado para poner el 茅nfasis en hacer peque帽as pruebas de unidad que garanticen la cohesi贸n de las clases, as铆 como en pruebas de integraci贸n que aseguren la calidad del dise帽o y la separaci贸n de incumbencias. Otros han querido enfatizar su adecuaci贸n como herramienta de especificaci贸n de requerimientos. Y en los 煤ltimos a帽os se ha comenzado a avanzar con los conceptos de TDD hacia las pruebas de interacci贸n a trav茅s de interfaces de usuario. Este trabajo pretende hacer una revisi贸n del estado del arte de TDD y evaluar futuras tendencias, que inequ铆vocamente se est谩n dirigiendo a una integraci贸n de las distintas clases de TDD.Facultad de Inform谩tic

    Plataformas de desarrollo para dispositivos m贸viles en la ense帽anza de programaci贸n avanzada: una experiencia provechosa

    Get PDF
    En los 煤ltimos a帽os, en el curso de programaci贸n avanzada que hemos dictado en la Universidad de Buenos Aires, hemos venido utilizando para la pr谩ctica de la ense帽anza de programaci贸n orientada a objetos diversos lenguajes y entornos de desarrollo. Estos lenguajes y entornos tuvieron siempre el denominador com煤n de operar en computadoras personales. En el a帽o 2004 se encar贸 la experiencia de realizar pr谩cticas sobre plataformas para equipos m贸viles, lo cual ha resultado una experiencia positiva y ha permitido descubrir elementos acerca de la asimilaci贸n de nuevas herramientas por parte de los alumnos.Red de Universidades con Carreras en Inform谩tica (RedUNCI

    Plataformas de desarrollo para dispositivos m贸viles en la ense帽anza de programaci贸n avanzada: una experiencia provechosa

    Get PDF
    En los 煤ltimos a帽os, en el curso de programaci贸n avanzada que hemos dictado en la Universidad de Buenos Aires, hemos venido utilizando para la pr谩ctica de la ense帽anza de programaci贸n orientada a objetos diversos lenguajes y entornos de desarrollo. Estos lenguajes y entornos tuvieron siempre el denominador com煤n de operar en computadoras personales. En el a帽o 2004 se encar贸 la experiencia de realizar pr谩cticas sobre plataformas para equipos m贸viles, lo cual ha resultado una experiencia positiva y ha permitido descubrir elementos acerca de la asimilaci贸n de nuevas herramientas por parte de los alumnos.Red de Universidades con Carreras en Inform谩tica (RedUNCI

    Hacia un enfoque metodol贸gico de cobertura m煤ltiple para refactorizaciones m谩s seguras

    Get PDF
    Habitualmente se considera que la preservaci贸n del comportamiento del software despu茅s del refactoring puede ser verificada con pruebas unitarias automatizadas. Sin embargo, hay situaciones en las cuales estas pruebas dejan de funcionar precisamente por los cambios realizados en el c贸digo. Para agregar seguridad al refactoring es necesario entonces utilizar pruebas a distintos niveles que aumenten la redundancia en la cobertura, aunque esto agrega complejidad adicional al testing y al refactoring. Para mitigar este problema hemos desarrollado un enfoque metodol贸gico basado en distintos niveles de prueba con cobertura redundante. Asimismo este art铆culo presenta una herramienta de chequeo de cobertura simult谩nea de varios tipos de pruebas, y un caso de estudio donde se usa la misma. M谩s all谩 de las ventajas conocidas de contar condistintos niveles de pruebas, una adicional es la colaboraci贸n que prestan en situaciones de refactoring, por lo que se esperar铆a una adopci贸n mayor en la industria.Sociedad Argentina de Inform谩tica e Investigaci贸n Operativa (SADIO

    Hacia un enfoque metodol贸gico de cobertura m煤ltiple para refactorizaciones m谩s seguras

    Get PDF
    Habitualmente se considera que la preservaci贸n del comportamiento del software despu茅s del refactoring puede ser verificada con pruebas unitarias automatizadas. Sin embargo, hay situaciones en las cuales estas pruebas dejan de funcionar precisamente por los cambios realizados en el c贸digo. Para agregar seguridad al refactoring es necesario entonces utilizar pruebas a distintos niveles que aumenten la redundancia en la cobertura, aunque esto agrega complejidad adicional al testing y al refactoring. Para mitigar este problema hemos desarrollado un enfoque metodol贸gico basado en distintos niveles de prueba con cobertura redundante. Asimismo este art铆culo presenta una herramienta de chequeo de cobertura simult谩nea de varios tipos de pruebas, y un caso de estudio donde se usa la misma. M谩s all谩 de las ventajas conocidas de contar condistintos niveles de pruebas, una adicional es la colaboraci贸n que prestan en situaciones de refactoring, por lo que se esperar铆a una adopci贸n mayor en la industria.Sociedad Argentina de Inform谩tica e Investigaci贸n Operativa (SADIO

    Nodo experimental de registro e inmutabilidad de variables ambientales

    Get PDF
    En el nuevo contexto de la industria 4.0, o cuarta revoluci贸n industrial, los datos se convirtieron en un activo de gran valor para las empresas. Toda la informaci贸n recopilada y guardada por los diferentes elementos de un sistema inform谩tico son un valor en s铆 mismo. En el mercado de hoy, el valor de la informaci贸n est谩 ligada a su procedencia. Generar los datos de manera segura sirve para dar informaci贸n detallada sobre los pasos clave en la producci贸n de un producto. El problema de tener tantos agentes funcionando en simult谩neo es la confianza que se debe tener sobre los componentes y las personas involucradas. Utilizando tecnolog铆a blockchain se logra fiabilidad aumentando la confianza del consumidor de dichos datos, ya que no podr铆an ser modificados por nadie. El objetivo de este art铆culo es mostrar el resultado de la implementaci贸n de un sistema capaz de recolectar variables ambientales, procesarlas, enviarlas a una base datos y certificar que la informaci贸n es confiable e inmodificable.Sociedad Argentina de Inform谩tica e Investigaci贸n Operativ
    corecore